/**
 * Copyright © 2009 Qasky. All rights reserved.
 *
 * 项目中系统数据字段管理工具
 *
 * @author long cheng
 * @version 0.0.0 2020/09/14
 *
 * History:
 * (author, date, desc)
 * (long cheng, 20200914, 添加注释)
 */
import {loadSysDictsBySort} from "../api/sysDictApi";
import {loadAlgorithmBySort} from '../api/arithmeticDict'
import request from './request'
const dict = {

  /**
   * 数据字段分类统一定义
   */
  sortCode:{
    /**
     * 系统资源
     */
     RESOURCE_TYPES        : "D_100000001",// 资源类型
     ROUTERS                : "D_100000002", // 路由类型
     ICONS                  : "D_100000003", // 资源图标
     AUDIT_SORTS           : "D_100000004", // 审计分类
     OP_TYPES               :"D_100000005", // 操作类型
     ATTA_SORTS            : "D_100000006", // 附件分类

    /**
     * 附件管理
     */
    SOFT_TYPES               : "D_100000007", // 软件类型

    /**
     * 系统参数管理
     */
    SYSCONFIG_SORTS         : "D_100000008", // 系统参数分类

    /**
     * 应用系统参数类型
     */
    key_typeList         :  "D_100000009", // 密钥标识
    role_type         :  "D_100000011", // 角色类型
      timeZoneList:'D_100000010', //时区
      timeModelList:'D_100000012', //同步时间模式
      localStratumList:'D_100000013', //同步周期
      /*uKeyTypeList:'D_100000014', //U盾类型
      rsaSignAlgList:'D_100000015', //签名算法标识*/
      certificateTypeList:'D_100000015', //Ras密钥指数
      keyDataTypeList:'D_100000014', //凭证类型
      algList:'D_100000016', //算法列表
      newWorkCardList:'D_100000017', //网卡类型
      ntpRoundList:'D_100000018', //NTp周期服务端口1
      vlanTypeList:'D_100000019', //vlan类型
      updateTypeList:'D_100000020', //升级类型
      mainHostStatusList:'D_100000021', //主机类型
      caCertificateStatusList:'D_100000022', //CA证书状态
      keyLengthList:'D_100000023', //密钥长度列表
      logTyeList:'D_100000024', //日志类别
      phyMachineStatusList:'phy_machine_status', //物理机的设备状态
      deviceTypeList:'deviceTypeList', //物理机的设备类型

  }
};
export default dict;

/**
 * 加载数据分类字典
 * @param sortCode
 * @param values
 */
/**
 * Function    : loadSysDicts
 * Description : 加载数据分类字典
 * Input       : sortCode-分类代码，被赋值对象列表
 * Return      : none
 */
export function loadSysDicts(sortCode,values) {
  loadSysDictsBySort({sortCode}).then(res=> {
    res.data.forEach(item=>{
      values.push(item);
    })
  });
}

/**
 * Function    : randerDictText
 * Description : 渲染字典名称
 * Input       : dictOpts-分类字典列表，code-字典代码
 * Return      : dictText - 字典名称
 */
export function randerDictText(dictOpts,code) {
  let dictText = code;
  for (let i = 0; i < dictOpts.length; i++) {
    if (dictOpts[i].value === code) {
      dictText = dictOpts[i].label;
      break;
    }
  }
  return dictText;
}


/**
 * Function    : loadSysDicts
 * Description : 加载数据服务器密码机分类字典
 * Input       : sortCode-分类代码，被赋值对象列表
 * Return      : none
 */
export function loadChsmSort(codeType,values) {
    return request({
        url: 'api/dictionary/getDictionaryListByCodeType',
        method: 'get',
        params:{codeType}
    }).then(res=> {
        res.data.data.forEach(item=>{
            values.push(item);
        })
    });
}


